!function(a) {
    function b(b, d, e) {
        var f = b[d];
        if (a.isFunction(f)) try {
            return f.call(e);
        } catch (g) {
            return c("jomino." + d + ": ", g), !1;
        }
        return !0;
    }
    function c(a, b) {
        window.console && window.console.log && window.console.log(a, b);
    }
    jQuery.fn.jomino = function(a) {
        function i() {
            var a = g ? f.length : e.length, c = null;
            a > 0 ? (g ? (c = f.pop(), e.unshift(c)) : (c = e.shift(), f.push(c)), jQuery.fn.jomino.animateElement(c, g, d.duration, d.easing), 
            setTimeout(function() {
                b(d, "onAnimate", c);
            }, d.duration), h = setTimeout(function() {
                i();
            }, d.interval)) : 0 == a && (setTimeout(function() {
                b(d, "onComplete", c);
            }, d.duration), g = !1, h = null);
        }
        var c = {
            interval: "200",
            duration: "400",
            easing: "swing",
            reverse: !1,
            random: !1,
            autostart: !0,
            onAnimate: null,
            onComplete: null
        }, d = jQuery.extend({}, c, a), e = jQuery.makeArray(this), f = new Array(), g = d.reverse, h = null;
        e = d.reverse ? e.reverse() : e, e = d.random ? e.sort(function() {
            return .5 - Math.random();
        }) : e, jQuery.jomino = {
            forward: function() {
                g = !1, h || (h = i());
            },
            rewind: function() {
                g || (jQuery.jomino.stop(), g = !0, h = i());
            },
            stop: function() {
                clearTimeout(h), h = null, g = !1;
            }
        }, d.autostart && jQuery.jomino.forward();
    }, jQuery.fn.jomino.animateElement = function(a, b, c, d) {
        b ? jQuery(a).fadeOut(c, d) : jQuery(a).fadeIn(c, d);
    };
}(jQuery);